Ubuntu 16.04
Sponsored Link

OpenStack Newton : Configure Ceilometer#2
2016/12/22
 
Configure OpenStack Metering Service (Ceilometer).
This example shows to install Metering Services on the existing environment like follows.
For example, install and configure Metering Services on the Network Node.
                                |
+------------------+            |            +------------------------+
| [ Control Node ] |            |            |    [ Network Node ]    |
|     Keystone     |10.0.0.30   |   10.0.0.50|    DHCP,L3,L2 Agent    |
|      Glance      |------------+------------|     Metadata Agent     |
|     Nova API     |eth0        |        eth0|   Ceilometer Services  |
|  Neutron Server  |            |            |                        |
+------------------+            |            +------------------------+
                            eth0|10.0.0.51
                      +--------------------+
                      |  [ Compute Node ]  |
                      |    Nova Compute    |
                      |      L2 Agent      |
                      | Ceilometer-Compute |
                      +--------------------+

 
Install and Configure Ceilometer on this section.
[1] Install MongoDB which Ceilometer needs for backend database.
root@network:~#
apt-get -y install mongodb-server mongodb python-pymongo
[2] Configure and Start MongoDB.
root@network:~#
vi /etc/mongodb.conf
# line 11: change

bind_ip =
0.0.0.0
root@network:~#
systemctl restart mongodb
# create a DataBase for Ceilometer (set any password for "password" section)

root@network:~#
mongo --host 10.0.0.50 --eval '
db = db.getSiblingDB("ceilometer");
db.createUser({user: "ceilometer",
pwd: "password",
roles: [ "readWrite", "dbAdmin" ]})'

MongoDB shell version: 2.6.10
connecting to: 10.0.0.50:27017/test
Successfully added user: { "user" : "ceilometer", "roles" : [ "readWrite", "dbAdmin" ] }
[3] Install Ceilometer services.
root@network:~#
apt-get -y install ceilometer-api ceilometer-collector ceilometer-agent-central ceilometer-agent-notification python-ceilometerclient python-ceilometerclient apache2 libapache2-mod-wsgi
[4] Configure Ceilometer.
root@network:~#
mv /etc/ceilometer/ceilometer.conf /etc/ceilometer/ceilometer.conf.org

root@network:~#
vi /etc/ceilometer/ceilometer.conf
# create new

[DEFAULT]
rpc_backend = rabbit
auth_strategy = keystone
[api]
port = 8777
host = 0.0.0.0
# MongoDB connection info

[database]
connection = mongodb://ceilometer:password@10.0.0.50:27017/ceilometer
# RabbitMQ connection info

[oslo_messaging_rabbit]
rabbit_host = 10.0.0.30
rabbit_port = 5672
rabbit_userid = openstack
rabbit_password = password
# Keystone auth info

[keystone_authtoken]
auth_uri = http://10.0.0.30:5000
auth_url = http://10.0.0.30:35357
memcached_servers = 10.0.0.30:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = ceilometer
password = servicepassword
# Ceilometer auth info

[service_credentials]
os_auth_url = http://10.0.0.30:5000/v2.0
os_username = ceilometer
os_tenant_name = service
os_password = servicepassword
os_endpoint_type = internalURL
os_region_name = RegionOne
[5] Configure httpd.
root@network:~#
vi /etc/apache2/sites-available/ceilometer.conf
Listen 8777

<VirtualHost *:8777>
    WSGIDaemonProcess ceilometer-api processes=2 threads=10 user=ceilometer group=ceilometer display-name=%{GROUP}
    WSGIProcessGroup ceilometer-api
    WSGIScriptAlias / "/var/www/cgi-bin/ceilometer/app"
    WSGIApplicationGroup %{GLOBAL}
    ErrorLog /var/log/apache2/ceilometer_error.log
    CustomLog /var/log/apache2/ceilometer_access.log combined
</VirtualHost>

WSGISocketPrefix /var/run/apache2

root@network:~#
mkdir -p /var/www/cgi-bin/ceilometer

root@network:~#
cp /usr/lib/python2.7/dist-packages/ceilometer/api/app.wsgi /var/www/cgi-bin/ceilometer/app

root@network:~#
a2ensite ceilometer

Enabling site ceilometer.
To activate the new configuration, you need to run:
service apache2 reload
root@network:~#
systemctl stop ceilometer-api

root@network:~#
systemctl disable ceilometer-api

root@network:~#
systemctl restart apache2
[6] Start Ceilometer services.
root@network:~#
systemctl restart ceilometer-agent-central \
ceilometer-agent-notification \
ceilometer-collector

root@network:~#
systemctl enable ceilometer-agent-central \
ceilometer-agent-notification \
ceilometer-collector

 
Tweet